package com.ruoyi.system.service;


import com.ruoyi.common.core.domain.entity.system.ScenicDailyIncome;

import java.util.Date;
import java.util.List;

/**
 * 景区每日收入Service接口
 *
 * @author zjw
 * @date 2023-09-21
 */
public interface IScenicDailyIncomeService {
    /**
     * 查询景区每日收入
     *
     * @param incomeId 景区每日收入主键
     * @return 景区每日收入
     */
    public ScenicDailyIncome selectScenicDailyIncomeByIncomeId(Long incomeId);

    /**
     * 查询景区每日收入列表
     *
     * @param scenicDailyIncome 景区每日收入
     * @return 景区每日收入集合
     */
    public List<ScenicDailyIncome> selectScenicDailyIncomeList(ScenicDailyIncome scenicDailyIncome);

    /**
     * 新增景区每日收入
     *
     * @param scenicDailyIncome 景区每日收入
     * @return 结果
     */
    public int insertScenicDailyIncome(ScenicDailyIncome scenicDailyIncome);

    /**
     * 修改景区每日收入
     *
     * @param scenicDailyIncome 景区每日收入
     * @return 结果
     */
    public int updateScenicDailyIncome(ScenicDailyIncome scenicDailyIncome);

    /**
     * 批量删除景区每日收入
     *
     * @param incomeIds 需要删除的景区每日收入主键集合
     * @return 结果
     */
    public int deleteScenicDailyIncomeByIncomeIds(String[] incomeIds);

    /**
     * 删除景区每日收入信息
     *
     * @param incomeId 景区每日收入主键
     * @return 结果
     */
    public int deleteScenicDailyIncomeByIncomeId(String incomeId);

    ScenicDailyIncome selectScenicDailyIncomeByCreateTime(Date createTime);

    ScenicDailyIncome selectScenicDailyIncome(ScenicDailyIncome scenicDailyIncome);

    /**
     * 获取指定景区历史累计总收入(只包含累计订单总费用，不包含累计订单总押金)。
     *
     * @param scenicId
     * @return
     */
    double getAccumulatedTotalIncome(Long scenicId);

}
